//该文件用于创建vuex中最为核心的store

//引入vue
import Vue from "vue";
// 引入Vuex
import Vuex from "vuex";
import tab from "./tab";
import jwtDecode from "jwt-decode"; //解析token

Vue.use(Vuex);
// // 准备一个actions---用于操作数据(state)
// const actions = {};
// // 准备一个mutations---用于操作数据(state)
// const mutations = {};
// // 准备一个state---用于操作数据(state)
// const state = {};
//用Vuex.sStore对象来记录token
const store = {
  state: {
    //存储token
    token:
      window.localStorage.getItem("token") === undefined
        ? undefined
        : window.localStorage.getItem("token"),
    // userMsg: window.localStorage.getItem(
    //   "userMsg" === undefined
    //     ? undefined
    //     : JSON.parse(window.localStorage.getItem("userMsg"))
    // ),
  },
  getters: {
    // getToken(state){
    //   return state.token || storage.get("token")||null
    // }
  },
  //计算属性
  mutations: {
    setToken(state, token) {
      state.token = token;
      state.userMsg = jwtDecode(token);
    },
    // delToken() {
    //   storage.remove("token")
    // },
    // setUserInfo(state,userName){
    //   state.userName = userName
    // }
  },
  actions: {},
};
// 创建store,对外暴露
export default new Vuex.Store({
  modules: {
    tab,
    store,
  },
});
